package com.ichoice.rabbitmq.rpc.helper;

import com.ichoice.rabbitmq.rpc.helper.model.ProducerModel;

/**
 * @author xianrensawang
 * @since 2021/1/28
 */
public abstract class RpcRabbitAdapter implements RpcRabbit {

    @Override
    public void sent(ProducerModel producerModel) {
        this.sentImpl(producerModel);
    }

    @Override
    public void sentAndBack(ProducerModel producerModel, ClientListenServerCallback callback) {
        sentAndBackImpl(producerModel, callback);
    }

    @Override
    public void sentBackByTargetMethod(ProducerModel producerModel, ClientListenServerCallback callback, String method) {
        this.sentBackByTargetMethodImpl(producerModel, callback, method);
    }

    protected void sentImpl(ProducerModel producerModel) {

    }

    protected void sentAndBackImpl(ProducerModel producerModel, ClientListenServerCallback callback) {

    }

    protected void sentBackByTargetMethodImpl(ProducerModel producerModel, ClientListenServerCallback callback, String method) {

    }

//    @Override
//    public void consumer(CallBackModel callBackModel) {
//        consumerImpl(callBackModel);
//    }
//
//    protected void consumerImpl(CallBackModel callBackModel) {
//
//    }
}
